eic-smear
https://wiki.bnl.gov/eic/index.php/Monte_Carlo_and_Smearing

Contacts:
elke@bnl.gov
tpb@bnl.gov
macl@bnl.gov

--------------------------------------------------------------------------------
Overview

eic-smear is the BNL EIC task force Monte Carlo analysis package.
It contains classes and routines for:
1) Building events in a C++ object and writing them to a ROOT file in a tree
   data structure.
2) Performing fast detector smearing on those Monte Carlo events.

The tree-building portion processes plain text files, formatted according to
the EIC convention, into a ROOT TTree containing events.
The following Monte Carlo generators are supported:
PYTHIA, RAPGAP, PEPSI, LEPTO, DJANGOH, MILOU, DPMJet, gmc_trans.
Please see the EIC wiki pages for descriptions of the data formats and
the EIC AFS area for installations of each of the Monte Carlo generators.
Each entry in the TTree is a single C++ event object, storing event-wise 
quantities common to all generators, generator-specific variables and
a list of particle objects.

The smearing portion of the code provides a collection of classes and routines
that allow simple parameterisations of detector performance, provided via a
ROOT script, to be applied to any of the above Monte Carlo
events. Detector acceptance can also be defined. When run, a ROOT file with
smeared events is produced, which can be analysed in conjunction with the
input Monte Carlo events.

Both portions of the code are included in the eic-smear shared library.

For those with access to the EIC AFS area, the stable versions of the
code are installed under
/afs/rhic.bnl.gov/eic/PACKAGES/eic-smear

--------------------------------------------------------------------------------
Building with configure/make

To compile eic-smear from a source distribution, create a directory in which to
build eic-smear and from there:

/path/to/eic-smear/configure
make

If you wish to install the generated libraries in a location, specify the
location via the --prefix argument and 'make install' after building:

/path/to/eic-smear/configure --prefix=/path/to/install-dir
make
make install

If you wish to build PYTHIA6-dependent components, pass the location of
libPythia6 to configure via with --with-pythia6-lidir argument:

/path/to/eic-smear/configure --with-pythia6-libdir=/path/to/pythia6/lib

Full help is available via

/path/to/eic-smear/configure --help

--------------------------------------------------------------------------------
Building with CMake

Create a build directory and from there:

cmake /path/to/eic-smear
make

To install, run cmake with:

cmake -DCMAKE_INSTALL_PREFIX=/path/to/install-dir /path/to/eic-smear

To include PYTHIA6-dependent components, add the argument:

cmake -DPYTHIA6_LIBDIR=/path/to/pythia6-libdir

--------------------------------------------------------------------------------

Those who wish to develop the code themselves can check it out via Subversion:

svn checkout http://svn.racf.bnl.gov/svn/eic/Utilities/eic-smear/trunk eic-smear

Before building with configure/make, navigate to /path/to/eic-smear, and run

autoreconf --force --install

This requires that you have GNU Autotools installed
